struct _GtkTextViewChild
{
- GtkContainer parent_instance;
+ GtkWidget parent_instance;
GtkTextWindowType window_type;
GQueue overlays;
int xoffset;
N_PROPS
};
-G_DEFINE_TYPE (GtkTextViewChild, gtk_text_view_child, GTK_TYPE_CONTAINER)
+G_DEFINE_TYPE (GtkTextViewChild, gtk_text_view_child, GTK_TYPE_WIDGET)
static GParamSpec *properties[N_PROPS];
return NULL;
}
-static void
-gtk_text_view_child_add (GtkContainer *container,
- GtkWidget *widget)
+void
+gtk_text_view_child_add (GtkTextViewChild *self,
+ GtkWidget *widget)
{
- GtkTextViewChild *self = GTK_TEXT_VIEW_CHILD (container);
-
if (self->child != NULL)
{
g_warning ("%s allows a single child and already contains a %s",
gtk_widget_set_parent (widget, GTK_WIDGET (self));
}
-static void
-gtk_text_view_child_remove (GtkContainer *container,
- GtkWidget *widget)
+void
+gtk_text_view_child_remove (GtkTextViewChild *self,
+ GtkWidget *widget)
{
- GtkTextViewChild *self = GTK_TEXT_VIEW_CHILD (container);
-
if (widget == self->child)
{
self->child = NULL;
}
}
-static void
-gtk_text_view_child_forall (GtkContainer *container,
- GtkCallback callback,
- gpointer callback_data)
-{
- GtkTextViewChild *self = GTK_TEXT_VIEW_CHILD (container);
- const GList *iter;
-
- if (self->child != NULL)
- callback (self->child, callback_data);
-
- iter = self->overlays.head;
- while (iter != NULL)
- {
- Overlay *overlay = iter->data;
- iter = iter->next;
- callback (overlay->widget, callback_data);
- }
-}
-
static void
gtk_text_view_child_measure (GtkWidget *widget,
GtkOrientation orientation,
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
object_class->dispose = gtk_text_view_child_dispose;
object_class->constructed = gtk_text_view_child_constructed;
widget_class->size_allocate = gtk_text_view_child_size_allocate;
widget_class->snapshot = gtk_text_view_child_snapshot;
- container_class->add = gtk_text_view_child_add;
- container_class->remove = gtk_text_view_child_remove;
- container_class->forall = gtk_text_view_child_forall;
-
/**
* GtkTextViewChild:window-type:
*
#ifndef __GTK_TEXT_VIEW_CHILD_PRIVATE_H__
#define __GTK_TEXT_VIEW_CHILD_PRIVATE_H__
-#include <gtk/gtkcontainer.h>
+#include <gtk/gtkwidget.h>
#include <gtk/gtktextview.h>
#define GTK_TYPE_TEXT_VIEW_CHILD (gtk_text_view_child_get_type())
G_GNUC_INTERNAL
-G_DECLARE_FINAL_TYPE (GtkTextViewChild, gtk_text_view_child, GTK, TEXT_VIEW_CHILD, GtkContainer)
+G_DECLARE_FINAL_TYPE (GtkTextViewChild, gtk_text_view_child, GTK, TEXT_VIEW_CHILD, GtkWidget)
G_GNUC_INTERNAL
GtkWidget *gtk_text_view_child_new (GtkTextWindowType window_type);
G_GNUC_INTERNAL
GtkTextWindowType gtk_text_view_child_get_window_type (GtkTextViewChild *self);
+
+G_GNUC_INTERNAL
+void gtk_text_view_child_add (GtkTextViewChild *self,
+ GtkWidget *widget);
+G_GNUC_INTERNAL
+void gtk_text_view_child_remove (GtkTextViewChild *self,
+ GtkWidget *widget);
G_GNUC_INTERNAL
void gtk_text_view_child_add_overlay (GtkTextViewChild *self,
GtkWidget *widget,